package top.whysu.gps.dao.relative;


import top.whysu.gps.po.relative.RelativeRoleCategoryPO;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 系统角色-菜单关联表 Mapper 接口
 */
public interface RelativeRoleCategoryDao {

    /**
     * 根据ID查询
     */
    RelativeRoleCategoryPO selectById(BigDecimal id);

    /**
     * 查询集合
     */
    List<RelativeRoleCategoryPO> selectList(Map<String, Object> params);

    /**
     * 插入
     */
    int insert(RelativeRoleCategoryPO relativeRoleCategoryPO);

    /**
     * 更新
     */
    int update(RelativeRoleCategoryPO relativeRoleCategoryPO);

    /**
     * 删除
     */
    int delete(BigDecimal id);

    /**
     * 查询对象（根据角色主键）
     *
     * @param roleId 角色主键
     */
    List<RelativeRoleCategoryPO> selectByRoleId(BigDecimal roleId);

    /**
     * 删除对象（根据角色主键）
     *
     * @param roleId 角色主键
     */
    int deleteByRoleId(BigDecimal roleId);

    /**
     * 查询按钮权限
     *
     * @param params 角色主键, 菜单类型，描述
     * @return 按钮权限数据
     */
    List<RelativeRoleCategoryPO> selectByRoleAndType(Map<String, Object> params);
}
